package com.supermap.dubbo.api.farmland;


import com.supermap.dubbo.api.farmland.entity.Farmland;
import com.supermap.dataservice.util.JSONUtil;

/**
 * @Author:langhongshuai
 * @Description:
 * @Date:18/1/29 上午9:35
 */
public interface FarmlandService {

    /**
     *通过用户id获取农田
     * @return
     */
    public JSONUtil getFarmlandByUIdArea(String userId, String areaCode,Integer pageNum,Integer pageSize);

    /**
     *添加农田
     * @param farmland
     * @return
     */
    public JSONUtil addFarmland(Farmland farmland);

    /**
     * 获取某地区下每区域的注册农田数量
     * @param areaCodes
     */
    public JSONUtil getFarmlandCountByArea(String[] areaCodes);

    /**
     * 删除农情
     * @param farmlandId
     * @return
     */
    public JSONUtil delFarmland(int farmlandId);

    /**
     * 通过作物id和区域code获取农田
     * @param cropId
     * @param areaCode
     * @return
     */
    public JSONUtil getFramlandByCropIdAndAreaCode(String cropId, String areaCode);

    /**
     * 通过区域code获取农田分布
     * @param areaCode
     * @return
     */
    public JSONUtil getFarmLandDistribution(String areaCode);

    /**
     * 通过农田id获取农事和病虫害信息
     * @param farmlandid
     * @return
     */
    public JSONUtil getFarmingAndDIPInfoByFarmlandId(int farmlandid);

    /**
     * 通过作物id和用户id查询农事和灾害信息
     * @param cropCode
     * @param userId
     * @return
     */
    public JSONUtil getAllDisasterDIPByCCodeAndUId(String cropCode,int userId);

    /**
     * 通过用户id获取农田里的作物类别
     * @param userId
     * @return
     */
    public JSONUtil getCropsByUserId(String userId);


    /**
     * 修改农田信息
     * @param farmland
     * @return
     */
    public JSONUtil updateFarmland(Farmland farmland);

    /**
     * 通过区域获取产业布局
     * @param areaCode
     * @param crop
     * @return
     */
    public JSONUtil getDistributionByArea(String year, String areaCode,String crop);

}
